【レポート】AWS を駆使して実現する e-casebook の医用画像ビューアと手術映像ライブストリーミング #AWSSummit
どうも、もこ@札幌オフィスです。
今年はAWS Summit Onlineという事で、2020/9/8〜9/9の間のライブセッションと、9/30まで視聴可能なAWS認定セッション、お客様事例セッション、セルフペースハンズオン、Partner Discovery Session (パートナーセッション) などなど、場所を選ばずにオンラインで、好きな時に好きなだけ学べるような環境になっています。
本記事はオンデマンドセッション「AWS を駆使して実現する e-casebook の医用画像ビューアと手術映像ライブストリーミング」のセッションレポートとなります。
セッション概要
株式会社ハート・オーガナイゼーション 取締役 CTO 金内 哲也 氏
世界に 1 万人以上の医師ユーザーを持つ症例検討プラットフォーム「e-casebook」では、特殊な医用画像データを処理してブラウザ上で閲覧できるビューアを実装しています。実現にあたっては Amazon ECS、AWS Lambda、Amazon CloudWatch といったマネージドサービスを使って可能な限りサーバレスなアーキテクチャを採用しています。同じくサーバレスを志向した手術映像のライブストリーミングサービスも合わせ、e-casebook における AWS 活用を具体的にご紹介します。
セッションレポート
お話しすること
- e-casebookの概要
- e-casebookの主要サービスシステム構成と工夫している点
- これから取り組んでいきたいこと
e-casebookの概要
- 医師が世界中の専門医と協力して治療できるようになる
- 手術、公演、症例検討を配信するライブ研究会プラットフォーム (e-casebook LIVE)
- いつでも、簡単に、安心して世界中の専門医に相談できる症例検討コミュニケーションツール(e-casebook FORUM)
- e-casebook LIVEでの手術+ディスカッション映像ライブストリーミング
- 実際に病院から手術してる映像をライブ配信しながらディスカッション
- コメント等々で質問・コメントが出来る
- e-casebook全体システム概要
- ライブストリーミングはAWS Elemental MediaLive/AWS Elemental MediaPackage/Amazon CloudFrontを利用
- これだけで簡単にできてしまう
- 完全にマネージドかつサーバーレス
- これだけではサービスとしては成り立たない
- 複数の病院にいる先生もコメンテーターとしてライブ配信する必要がある
- オンラインライブ研究会のコメンテーターに必要なこと
- 配信されている映像をモニタリングできる
- 手術・奨励の映像が細部まで読み取れるレベルで高画質・フレームレートも高くある必要がある
- 特別な機材なしで自分のコンピューター、ネットワークからアクセス出来る
- 必要最低限のソフトウェア(ウェブブラウザ)で利用出来る
- 病院が配信センターに手術ライブ映像を配信
- コメンテーターの先生にEC2経由でリアルタイムで配信
- 送信時に個別に送る必要がある
- 配信センターから複数の先生に送るには帯域・性能の面で担保するのは難しいので、EC2を利用
- コメンテーターの映像を配信センターに送信して、合成/切替を行ってから視聴者へ配信する
- 配信映像は同じだが、上と下とで違う方法で配信するのか - 視聴者向けの配信は安定性・クオリティを重視しているため30秒ほど遅延する設定で運用して、高画質、安定した配信を行っている - 遅延がコメンテーターの先生方に起こってしまうとディスカッションにならないので、リアルタイムで配信するようにしている - WebRTCを利用してリアルタイム映像・音声通信
- 配信センター
- 最近新しい機材が入って放送センターのような規模になってきている
- e-casebook LIVeでの配信ポイント
- 視聴者向け配信はAWS Elemental MediaLive + AWS Elemental MediaPackage + Amazon CloudFrontで解決
- 品質・安定性重視のため約30秒遅延する設定で運用
- 音声・映像のリアルタイム通信はWebRTCを用いてブラウザのみで実現
- コメンテーターの先生がソフトなどを入れなくてもブラウザだけで使える
- コメンテーターには高性能・広帯域なクラウドサーバーから配信FullHDで一般的なWeb会議システムに比べて数倍のフレームレートが出せないと細かいところが読み取れない
- コメンテーターからの送信は低FPSや音声のみに限定して帯域が細くても利用出来る
- コメンテーターのお顔の映像は多少コマ落ちしてもさほどディスカッションに影響がない
- クラウドを活用はしているが、最終的に映像ソースの合成、切り替えは配信センター(オフィス)の機材で実現
- 視聴者向け配信はAWS Elemental MediaLive + AWS Elemental MediaPackage + Amazon CloudFrontで解決
医用画像ビューアを用いた症例検討ツール
- 真ん中の画像が実際の病変のX線などの画像
- 動画で見ることができ、右側で症例についてコメントが出来る
- 画像については矢印を書き込んだり出来て、精度の高いコミュニケーションが出来る
- 画像はDICOM形式になっている
- DICOMとは
- 医用画像の標準プロトコルで医療と切っても切り離せない存在
- 通信にも使われるし、画像フォーマットも決まっている
- 病院行ったときに先生がレントゲン/CTの画像を見ると思うが、そういった画像はDICOM形式で保存されたもの
- ピクセルデータ+メタデータ(患者情報(指名・身長・体重など)・施設・機器等)で構成
- 閲覧には専用ビュアーソフトを利用するのが一般的
- 高価な物が多い
- 高画質が求められるため数GBのファイルになることも珍しくはない
- e-casebookはDICOMファイルをアップロードすると、自動で匿名化してブラウザで閲覧可能な状態にして、ブラウザだけで閲覧できるようになる
-
CMSとしてのe-casebook
- ユーザーが持っているDICOMファイルをアップロードするとDICOMコンバーターが閲覧用に変換する
- 動画共有サイトなどと同じようなしくみ
- DICOMアップロード時のフロー
- ブラウザからS3にファイルアップロード
- Amazon S3 EventsでLambdaを起動して、ECSのコンテナを起動
- コンテナ内で画像とメタデータの抽出して、画像を画像保存バケットに、APIとメタデータをAmazon Auroraに保存
- e-casebookにおけるDICOM処理ポイント
- Amazon S3イベントでアップロードを検知するため、イベントドリブンで処理可能
- メインの画像処理はコンテナ化していてスケールが容易
- コンテナ内で大量の画像ファイルI/O(100GBクラス)に対応するため大容量かつ良好なパフォーマンスのAmazon EBSを利用
- パフォーマンスの面からEBSを利用
- ECSではボリューム制限のないEC2起動タイプを採用
- Fargateは現状使えるボリューム容量に制限がある
これから取り組んでいきたいこと
- さらなるマネージドサービス/サーバーレス化
- さらに進めて運用負荷を軽減させたい
- Amazon Aurora Serverlessの導入検討
- 先日MySQLのバージョンが上がった
- 各種ロギングをAmazon Kinesis Data Streamsに置き換え
- 一部既に置き換えていて、近いうちに運用開始
- データ分析基盤をRDBからAmazon Athenaベースに移行
まとめ
- AWSの機能を駆使してオンライン研究会のライブ配信と遺贈画像ビューアをベースとした奨励検討ツールを実現
- AWSを使えば映像のライブストリーミング自体は容易に実現出来る。感じの映像をどう作り上げるかがポイント
- 奨励検討ツールではユーザーがアップロードしたDICOMをAmazon S3イベントやコンテナを用いてシンプルカツスケーラビリティのある処理を実現
- 今後、マネージドサービス / サーバーレス化をいっそう進めてアーキテクチャを簡素化していきたい